package com.ruoyi.system.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.exception.ServiceException;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.domain.vo.YhDetailsVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.system.mapper.YhDetailsMapper;
import com.ruoyi.system.domain.YhDetails;
import com.ruoyi.system.service.IYhDetailsService;

import java.util.List;

/**
 * 烟盒信息Service业务层处理
 * 
 * @author ruoyi
 * @date 2023-06-06
 */
@Service
public class YhDetailsServiceImpl extends ServiceImpl<YhDetailsMapper, YhDetails> implements IYhDetailsService
{

    @Autowired
    private YhDetailsMapper yhDetailsMapper;

    @Override
    public boolean addYhDetails(YhDetails yhDetails) {
        if(StringUtils.isBlank(yhDetails.getImgUrl())){
            throw new ServiceException("请上传烟盒图片！");
        }
        if(!StringUtils.isNotNull(yhDetails.getPoint()) || yhDetails.getPoint() <= 0){
            throw new ServiceException("请填写正确的积分！");
        }

        if(StringUtils.isBlank(yhDetails.getBarCode())){
            throw new ServiceException("请填烟盒条码！");
        }

        List<YhDetails> list = this.list(new LambdaQueryWrapper<YhDetails>()
                .eq(YhDetails::getTypeId, yhDetails.getTypeId())
                .eq(YhDetails::getBarCode, yhDetails.getBarCode())
                .eq(YhDetails::getYhType, yhDetails.getYhType()));
        if(list.size() > 0){
            throw new ServiceException("该系列已存在条码：" + yhDetails.getBarCode());
        }

        return this.save(yhDetails);
    }

    @Override
    public List<YhDetailsVo> yhDetailsList(YhDetails yhDetails) {
        return yhDetailsMapper.yhDetailsList(yhDetails.queryWrapper());
    }

}
